package lecture07.person2;

/*
* 创建实体类Perosn,具有属性:姓名,年龄,性别
* 有成员方法:work(),用于输出:xxx年龄xxx,会工作
* 创建实体对象("张三",18,"男")调用work()方法
* 变量作用域:变量作用在大括号内
* 封装:将属性私有化,在属性前面加上private,通过创建公共的set和get方法,
* 用于访问私有属性
* 构造方法:实例化对象时会调用构造方法
* 构造方法定义规则:
* (1) 方法名与类名同名
* (2) 方法名前面没有返回值类型,无void,无return返回
* (3)
* 注意:如果类中没有定义构造方法,系统会自动提供一个无参构造方法,
* 如果自定义了改造方法,则系统提供无参构造方法
* */

class Person {
    private String name;
    private int age;
    private String sex;

    Person(String name, int age, String sex) {
        this.name = name;
        this.age = age;
        this.sex = sex;
    }



/*    public void setName(String name) {
        this.name = name;
    }
    public void setAge(int age) {
        this.age = age;
    }
    public void setSex(String sex) {
        this.sex = sex;
    }
    public int getAge() {
        return age;
    }
    public String getName() {
        return name;
    }
    public  String getSex() {
        return sex;
    }*/
//    public String work() {
//        return name + "年龄" + age + "会工作";
//    }
    public void printPerson() {
        System.out.println(name + "年龄" + age + "会工作");
    }
}


public class PersonTest {
    public static void main(String[] args) {
        Person p1 = new Person("张三", 20, "男");
        p1.printPerson();
//        p1.setName("张三");
//        p1.setAge(20);
//        p1.setSex("男");
//        System.out.println(p1.work());
        Person p2 = new Person("李四", 20, "女");
        p2.printPerson();
    }
}
